prog : y.tab.o lex.yy.o arbre_evaluation.o tabSymbole.o projet.o
	gcc -o prog y.tab.o lex.yy.o arbre_evaluation.o tabSymbole.o projet.o -lm -lfl -pthread
	
projet.o : projet.c projet.h
	gcc -c projet.c -W -Wall
	
arbre_evaluation.o : arbre_evaluation.h arbre_evaluation.c
	gcc -c arbre_evaluation.c -W -Wall

tabSymbole.o : tabSymbole.h tabSymbole.c
	gcc -c tabSymbole.c -W -Wall
	
y.tab.o : y.tab.h y.tab.c
	gcc -c y.tab.c -W -Wall

y.tab.c y.tab.h : gram.yacc.y
	yacc -vd gram.yacc.y

gram.yy.o: lex.yy.c y.tab.h symbole.h arbre_evaluation.h
	gcc -c lex.yy.c -W -Wall

lex.yy.c: gram.lex
	lex -i gram.lex

clean:
	rm -f *.o
	rm -f y.*
	rm -f lex.yy.*
	rm -f prog
